查看原文
其他

SIGIR 2023 | EulerNet: 复数向量空间下的特征交互建模

田震 RUC AI Box 2023-08-04

© 作者|田震

  机构|中国人民大学

研究方向 | 推荐系统


本文介绍了本小组发表于SIGIR 2023的论文EulerNet,其基于欧拉公式设计了一个自适应特征交互学习的复变神经网络,首次提出了在复数向量空间中建模特征交互关系的技术方案,在多个CTR数据集上取得显著提升。文章也同步发布在 AI Box 知乎专栏(知乎搜索 AI Box 专栏),欢迎大家在知乎专栏的文章下方评论留言,交流探讨!


论文题目:EulerNet: Adaptive Feature Interaction Learning via Euler's Formula for CTR Prediction

论文链接:https://arxiv.org/pdf/2304.10711.pdf

论文代码:https://github.com/RUCAIBox/EulerNet

前言

如何构造有效的高阶特征交互一直是点击率预测领域研究的重点。已有的工作主要依赖于手工设计交互结构,其特征交互的阶数往往为一个预定义的整数。这种经验主义的设计往往使模型与真实场景产生较大偏差,如何从数据中自适应地学习出最优的交互结构是一个备受关注的课题。已有研究利用对数神经网络将向量间的乘法/幂运算转化为对数的加法运算,从而实现特征交互阶数的自适应学习。然而,对数神经网络的主要弊端是其将特征约束到正数向量空间,对模型的表达能力有较大限制。如何无约束地自适应学习特征交互仍是一大挑战。                                              

我们首先注意到,如果允许特征的自适应学习,那么往往允许其表示向量的阶数可以取值为任意实数。而对于一个可能存在负数元素的实向量,其小数阶运算会不可避免地将其映射到复数向量空间,如何在复数向量空间进行特征表示学习是本研究的主要挑战。基于此,我们提出了一个新型复变神经网络(EulerNet)。其核心思想是利用欧拉公式将特征映射到复数向量空间,在此空间下构造可学习的特征交互。具体而言,我们在复数向量空间将特征交互的指数运算转化为极坐标表示下其模长和幅角间的线性运算,将交互的阶数转化为线性运算的可学习系数,从而使神经网络以一种效率极高的方式学习特征之间的交互关系。同时,我们进一步提出了隐式特征交互在复空间下的表示方法,并将其与显式特征交互集成到一个统一的网络结构中。在以往的工作中,显式与隐式特征交互往往独立于不同的网络结构中。而我们发现它们在复空间下有着较强的互补关系,而联系它们的纽带正是欧拉公式。

一. 研究背景与动机

1. 点击率预估

点击率预估是一类常见的二分类任务。给定用户、物品以及上下文表示 ,其中为第 个特征域的特征实例。其目标是预估用户是否发生点击行为。目前大部分机器学习方法在处理特征时会引入一张特征嵌入表 (Embedding Table),将特征的稀疏表示映射为一个低维的实向量。根据特征的稠密向量表示给出点击率的预测值

2. 特征交互

点击率预测任务的核心是构造有效的特征交互,现有方法构造的特征交互可以分为显式特征交互与隐式特征交互。对于显式特征交互,我们定义其表达形式为:

式中为交互阶数。例如FM的阶数可以表示为: 目前大部分方法的交互阶数为凭经验手工设计的,其在模型学习过程中始终保持不变,这种设计方式不可避免地造成模型的归纳偏差。我们的目标是从数据中自适应地学习交互阶数

对比显式特征交互,隐式特征交互并没有明确的可解释的表达形式。其中,最具有代表性的隐式交互模型为多层感知机,其交互过程可以刻画为:

由于隐式特征交互与显式特征交互存在较大差别,现有方法采用两个独立的网络结构建模两类交互。而在本工作,我们将统一它们的表达形式,并揭示它们之间存在的互补关系。

二. EulerNet:自适应特征交互的复变神经网络

1. 模型结构

EulerNet的结构如图1所示。与大部分CTR模型相同,模型的原始输入为特征经过独热编码后得到的稀疏向量,之后经过特征嵌入层被映射到一个实向量,接着经过复空间映射模块映射为一个复向量,作为后续主干网络的输入。模型的主干网络为堆叠架构的欧拉交互层。每个欧拉交互层进行双路特征交互,其中一路利用欧拉变换对特征的模长和辐角进行线性变换,另外一路对特征的实部和虚部进行线性变换。而后,双路特征的实部和虚部分别加和以及正则化后作为下一层的输入。最后,我们将特征的实部和虚部分别拼接后过线性层后相加,作为最终的预测结果。

2. 自适应特征交互

复空间映射

给定特征的嵌入向量,我们首先设计复空间映射模块将特征的实向量表示映射到复数向量空间。在复向量空间下,每个特征具有模长和辐角 两个元素,我们的主要设计理念是引入一个特征域间所有特征共享的模长参数 ,学习特征域粒度下的数值级别的重要程度。而将域内特征的独有嵌入向量作为辐角,捕获特征粒度下的个性化重要程度。最后,通过欧拉公式得到每个特征的实部和虚部。其映射过程的形式化表述为:


显式特征交互

给定特征的复空间表示。我们首先通过欧拉变换,将特征的实部/虚部表示(笛卡尔坐标)转换为模长/辐角表示(极坐标):



在极坐标表示下,特征间的显式交互可以简化为线性变换:



由此我们可以看出,在复数向量空间下,特征的阶数可以转化为简单的线性组合系数,使神经网络可以从数据中自适应地学习阶数信息。虽然之前已有相关工作通过对数运算实现了这个效果,但其约束特征表示为正数向量空间,严重限制了模型的表达能力。相比之下,复空间下的变换并不存在额外的约束,因为我们总是可以保证式中求得的模长的非负性。基于此,我们提出了显式特征交互下的多阶线性变换:



其中阶数向量集合为 以及为引入的线性变换bias。事实上,式中线性变换偏差的作用类似于域感知因子分解机 (FwFM) 中的权重系数,控制着每个交互项的重要程度。不过不同的是,这里的权重系数是一个复数,而非实数。通过此变换,阶数为的显式特征交互可以表示为:



由于上述表示仍然位于极坐标空间,为了使其能够方便地进行加法融合操作,我们利用逆欧拉变换将其转换到原直角坐标空间:



隐式特征交互

为了捕获更加复杂的特征交互,我们将特征的实部和虚部输入同一单层感知机结构来捕获它们之间的非线性关系。


最后,我们在每层融合两种类型的特征交互表示作为下一层的输入:



同样,我们可以对每层输出的实部/虚部表示应用LayerNorm(·)来调整数据分布。模型的预测由最后一层的输出表示得到:




3.互补效应


欧拉交互层的双路结构可以同时建模显式特征交互与隐式特征交互,并实现了二者的融合。为了进一步理解EulerNet中不同特征交互之间的关系,我们考虑一个最简单的情形:特征的嵌入维度。由于我们在映射模块将模初始化为1,以及每个欧拉映射层的正则化操作,特征的模长在学习过程中会分布在1附近。在此情形下,我们可以忽略掉显式交互部分对模长的线性变换。基于此,显式与隐式特征交互可以近似表达为:



因此,显式交互 主要控制特征的辐角属性,可以近似为复空间下的旋转过程。另一方面,由于ReLU(·)的特性,隐式交互 主要将特征限制在第一象限,其对辐角影响较小,而主要影响特征的模长属性。图2 进一步阐释了它们之间的几何关系。欧拉交互层对二者的集成可以使特征的模长和辐角得到充分学习,实现了它们的相互补充与增强,有效地提升了模型的表达能力。



三. 实验分析

1. 主实验

我们使用了3个公开数据集:Criteo,Avazu以及MovieLens-1M验证了我们方法的计算效率和有效性。具体实现和细节可以参考前文的代码链接。实验结果如下表所示,通过对比可以看出我们所提出方法的有效性。


2. 分析实验

交互阶数分析

我们首先分析了EulerNet在MovieLens和Avazu两个数据集中学习到的特征交互阶数。如下图所示,EulerNet中可学习的特征交互阶数可以取值为任意实数。我们发现MovieLens数据集的阶数主要分布在[0,3.5],Avazu数据集的阶数主要分布在[0.5,3.5]。这些阶数全部是从数据中自适应学习得到,细粒度的特征交互学习可以使EulerNet能够有效地捕获数据中的有效交互。

交互阶数验证

由于无法从真实世界的数据集得出真实的交互模式,我们进一步构造了一个人工合成的数据集。它包含7个特征域,每个特征域含有1000个特征。我们赋予每个特征一个独立概率,最终的点击事件由记录中所有特征中的联合分布采样得到。联合概率的定义如下表:

我们使用模型拟合得到的阶数与真实交互的偏差来评价模型的学习能力。可以看到EulerNet的拟合能力要显著强于AFN。特别地,我们给出了采样模式定义为时的模型学习到的阶数分布:

特征表示可视化

在EulerNet中,特征的重要性由其在复空间下的辐角所控制,我们进一步说明了特征辐角与其重要程度的关系。如下图5所示,我们可视化了MovieLens-1M数据集的特征域与预测标签之间的互信息。其中特征域的互信息越大表明其对预测结果影响越大,重要程度较高。同时,特征域的重要程度也同样体现在EulerNet学习到的特征辐角分布中:其分布越集中,说明其对噪声等随机化因素的敏感程度较高,域较为重要;其分布越分散,说明其对噪声不敏感,重要程度较低。可以看到,对于互信息较强的特征域(item_id,user_id,zip_code),其辐角分布较为集中,方差较小。而对于互信息较弱的特征域,其分布更加分散,方差较大。这个现象也说明了EulerNet能够在一定程度上学习到特征的重要程度。EulerNet主要通过显式特征交互的旋转效应控制特征辐角,使得其能够有效地捕获较为重要的特征关系。


3. 消融实验

我们进一步分析了显式/隐式特征交互模块的作用。由下表可以看到,不论是去掉显式特征交互还是隐式特征交互,对模型的表现都有一定影响,体现了它们之间的互补效应。同时,显式/隐式特征交互对不同数据集的适配效果也不尽相同,二者都是CTR预估的重要模式。

我们同样分析了欧拉交互层的层数以及每层尺寸对模型表现影响。如下图所示,在不同的数值设置下,模型的表现都呈现出了先上升后下降的趋势。对于欧拉交互层层数,为了平衡模型的表现与效率,我们发现在实践中设置层数为1或2,模型已经有了一个非常不错的表现。对于每层阶数向量个数,我们发现其最优设置往往接近于数据集参与特征交互的域数量。


四. 总结

在本工作中,我们提出了一个新型复变神经网络 - EulerNet。其主要利用欧拉公式将特征映射到复数向量空间,以此实现自适应的特征交互。在复数向量空间,特征交互的阶数可以转换为特征模长/辐角之间线性变换的组合系数,使神经网络能够高效地从数据中自适应地学习到最优的交互阶数。此外,EulerNet将显式特征交互与隐式特征交互集成到了一个统一的网络结构中,实现了它们之间的互相增强。我们在三个公开数据集以及一个合成数据集上进行了广泛实验,验证了我们设计模型的效率与有效性并解释了模型的效果。

作为主要贡献,我们首次提出在复数向量空间下建模特征与其之间的交互关系。在复数向量空间下,对复向量的极坐标表示与直角坐标表示做线性变换会产生截然不同的效果,为增强模型的表达能力提供了一种新的方向。作为一个二分类神经网络,EulerNet并不局限于点击率预测,在其它场景或任务仍有较大的应用潜力,这些都可以作为我们后续的研究内容。


多推荐


训练你的大模型!低资源下的模型轻量化


一文速览大型语言模型在图文多模态中的应用



浅探大型语言模型在信息检索中的应用
点击下方“阅读原文”前往知乎专栏
↓↓↓

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存